
/**********************************************************************************\
** 文件名称: numctrl.c
** 创建人员: YCG
** 创建日期: 2018-12-21
** 文档描述:
** 版本代号: V0.1
** 版本说明: 初始版本
\********************************************************************************/
#include "numctrl.h"

/*******************************************************************************
** 函数名称: NumInit
** 功能描述: 初始化控制数据的大小
** 参数说明: pxNumCtrl: [输入]  需要控制的数据
**			 pxStep: [输入]       每次变化的步距
**			 pxMin: [输入]        数据的最小值
**			 pxMax: [输入]        数据的最大值
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2018-12-21
********************************************************************************/
void NumInit(numctrl_t *pxNumCtrl, uint8_t pxStep, uint8_t pxMin, uint8_t pxMax) {
    pxNumCtrl->num = pxMin ;
    pxNumCtrl->step = pxStep;
    pxNumCtrl->min = pxMin;
    pxNumCtrl->max = pxMax;
}

/*******************************************************************************
** 函数名称: NumSet
** 功能描述: 设置数据的值
** 参数说明: pxNumCtrl: [输入/出] 需要控制的数据
**			 pxNum: [输入/出] 设置的数据
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2018-12-21
********************************************************************************/
void NumSet(numctrl_t *pxNumCtrl, uint8_t pxNum) {
    pxNumCtrl->num = pxNum;
    if(pxNumCtrl->num > pxNumCtrl->max) {
        pxNumCtrl->num = pxNumCtrl->max;
    }
    if( pxNumCtrl->num < pxNumCtrl->min) {
        pxNumCtrl->num = pxNumCtrl->min;
    }
}

/*******************************************************************************
** 函数名称: NumAdd
** 功能描述: 自加一个布局值
** 参数说明: pxNumCtrl: [输入/出] 需要控制的数据
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2018-12-21
********************************************************************************/
void NumAdd(numctrl_t *pxNumCtrl) {
    pxNumCtrl->num += pxNumCtrl->step;
    if(pxNumCtrl->num > pxNumCtrl->max) {
        pxNumCtrl->num = pxNumCtrl->min;
    }
}

/*******************************************************************************
** 函数名称: NumDec
** 功能描述: 自减一个步距值
** 参数说明: pxNumCtrl: [输入/出] 需要控制的数据
** 返回说明: None
** 创建人员: YCG
** 创建日期: 2018-12-21
********************************************************************************/
void NumDec(numctrl_t *pxNumCtrl) {
    pxNumCtrl->num -= pxNumCtrl->step;
    if(pxNumCtrl->num > pxNumCtrl->max || pxNumCtrl->num < pxNumCtrl->min) {
        pxNumCtrl->num = pxNumCtrl->max;
    }
}

/********************************End of File************************************/

